package com.celesea.configuration.security.bean;

import java.io.Serializable;

/**
 * SSO 登录用户信息映射
 */
public class SsoLoginInfo implements Serializable {
    /** sso登录session **/
    private String loginSessionId;

    /** 用户信息 **/
    private User user;

    /** 品牌 **/
    private Brand brand;

    //为了优化性能，不解析grantShops
    ///** 授权商户集合 **/
    //private List<Shop> grantShops;

    /** 用户权限集合 **/
    private PermissionCollection permissionCollection;

    /** 当前商户id **/
    private long currentShopId;

    /** 当前商户名称 **/
    private String currentShopName;

    /** 供应链开通标识 **/
    private boolean openScm;

    /** 当前登录 **/
    private int currentVersion;

    /** 是否可登陆品牌 **/
    private boolean canLoginBrand;

    /** 当前是否登陆品牌 **/
    private boolean loginBrand;

    public String getLoginSessionId() {
        return loginSessionId;
    }

    public void setLoginSessionId(String loginSessionId) {
        this.loginSessionId = loginSessionId;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public Brand getBrand() {
        return brand;
    }

    public void setBrand(Brand brand) {
        this.brand = brand;
    }

    public PermissionCollection getPermissionCollection() {
        return permissionCollection;
    }

    public void setPermissionCollection(PermissionCollection permissionCollection) {
        this.permissionCollection = permissionCollection;
    }

    public long getCurrentShopId() {
        return currentShopId;
    }

    public void setCurrentShopId(long currentShopId) {
        this.currentShopId = currentShopId;
    }

    public String getCurrentShopName() {
        return currentShopName;
    }

    public void setCurrentShopName(String currentShopName) {
        this.currentShopName = currentShopName;
    }

    public boolean isOpenScm() {
        return openScm;
    }

    public void setOpenScm(boolean openScm) {
        this.openScm = openScm;
    }

    public int getCurrentVersion() {
        return currentVersion;
    }

    public void setCurrentVersion(int currentVersion) {
        this.currentVersion = currentVersion;
    }

    public boolean isCanLoginBrand() {
        return canLoginBrand;
    }

    public void setCanLoginBrand(boolean canLoginBrand) {
        this.canLoginBrand = canLoginBrand;
    }

    public boolean isLoginBrand() {
        return loginBrand;
    }

    public void setLoginBrand(boolean loginBrand) {
        this.loginBrand = loginBrand;
    }

    @Override
    public String toString() {
        return "SsoLoginInfo{" +
                "loginSessionId='" + loginSessionId + '\'' +
                ", user=" + user +
                ", brand=" + brand +
                ", permissionCollection=" + permissionCollection +
                ", currentShopId=" + currentShopId +
                ", currentShopName='" + currentShopName + '\'' +
                ", openScm=" + openScm +
                ", currentVersion=" + currentVersion +
                ", canLoginBrand=" + canLoginBrand +
                ", loginBrand=" + loginBrand +
                '}';
    }
}
